package com.smartcommunity.entity.village;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Objects;

/**
 * 小区统计实体
 * @author zdy
 * @date 2020/2/23
 */
@Data
@ApiModel
public class SixEntity {

    @ApiModelProperty(value="父级行政区划ID ",name="parentId")
    private Integer parentId;

    @ApiModelProperty(value="父级行政区划名称 ",name="orgName")
    private String orgName;

    @ApiModelProperty(value="小区编码 ",name="villageCode")
    private String villageCode;

    @ApiModelProperty(value="小区名",name="villageName")
    private String villageName;

    @ApiModelProperty(value="小区地址 ",name="address")
    private String address;

    @ApiModelProperty(value="小区图片 ",name="picUrl")
    private String picUrl;

    @ApiModelProperty(value="实有人口数",name="peopleCount")
    private Integer peopleCount = 0;

    @ApiModelProperty(value="户籍人口数",name="hjPeopleCount")
    private Integer hjPeopleCount = 0 ;

    @ApiModelProperty(value="外来人口数",name="wlPeopleCount")
    private Integer wlPeopleCount = 0;

    @ApiModelProperty(value="境外人口数",name="jwPeopleCount")
    private Integer jwPeopleCount = 0;

    @ApiModelProperty(value="临时人口数",name="lsPeopleCount")
    private Integer lsPeopleCount = 0;

    @ApiModelProperty(value="车辆数量",name="vehicleCount")
    private Integer vehicleCount = 0;

    @ApiModelProperty(value="实有楼栋数",name="buildingCount")
    private Integer buildingCount = 0;

    @ApiModelProperty(value="实有房屋数",name="houseCount")
    private Integer houseCount = 0;

    @ApiModelProperty(value="自主房",name="selfHouseCount")
    private Integer selfHouseCount = 0;

    @ApiModelProperty(value="出租房",name="rentHouseCount")
    private Integer rentHouseCount = 0;

    @ApiModelProperty(value="空置房",name="emptyHouseCount")
    private Integer emptyHouseCount = 0;

    @ApiModelProperty(value="其他",name="otherHouseCount")
    private Integer otherHouseCount = 0;

    @ApiModelProperty(value="实有单位数",name="companyCount")
    private Integer companyCount = 0;

    @ApiModelProperty(value="实有设备数",name="securityEquipmentCount")
    private Integer securityEquipmentCount = 0;

    @ApiModelProperty(value="实有力量数",name="powerCount")
    private Integer powerCount = 0;

    @ApiModelProperty(value="相机设备总数",name="cameraCount")
    private Integer cameraCount = 0;

    @ApiModelProperty(value="普通相机数",name="normalCameraCount")
    private Integer normalCameraCount = 0;

    @ApiModelProperty(value="人脸相机数",name="faceCameraCount")
    private Integer faceCameraCount = 0;

    @ApiModelProperty(value="车辆相机数",name="vehicleCameraCount")
    private Integer vehicleCameraCount = 0;

    @ApiModelProperty(value="关注人员数",name="alarmPeopleCount")
    private Integer alarmPeopleCount = 0;

    @ApiModelProperty(value="活跃人员数",name="activePeopleCount")
    private Integer activePeopleCount = 0;

    @ApiModelProperty(value="实有装备数",name="equipmentCount")
    private Integer equipmentCount = 0;

    @ApiModelProperty(value="小区数",name="villageCount")
    private Integer villageCount = 0;

    @ApiModelProperty(value="实有警情数",name="policeEventCount")
    private Integer policeEventCount = 0;

    @Override
    public boolean equals(Object o) {
        if (this == o) { return true; }
        if (!(o instanceof SixEntity)) { return false; }
        SixEntity sixEntity = (SixEntity) o;
        return Objects.equals(villageCode, sixEntity.villageCode) &&
                Objects.equals(villageName, sixEntity.villageName) &&
                Objects.equals(parentId, sixEntity.parentId);
    }

    @Override
    public int hashCode() {

        return Objects.hash(villageCode, villageName, parentId);
    }
}
